Skip to main content

free buffer waits

Short Description

This wait event indicates that a server process was unable to find a free buffer and has posted the database writer to make free buffers by writing out dirty buffers.

Detailed Description​

A server process was unable to find a free buffer in the buffer cache and has posted the database writer (DBWR) to make free buffers by writing out dirty buffers. A dirty buffer is a buffer whose contents have been modified. Dirty buffers are freed for reuse when DBWR has written the blocks to disk.

Free Buffer Waits can be caused by:

DBWR may not be keeping up with writing dirty buffers in the following situations:

  • The I/O system is slow.
  • There are resources it is waiting for, such as latches.
  • The buffer cache is so small that DBWR spends most of its time cleaning out buffers for server processes.
  • The buffer cache is so big that one DBWR process is not enough to free enough buffers in the cache to satisfy requests.

How to reduce this wait​

If this event occurs frequently, then examine the session waits for DBWR to see whether there is anything delaying DBWR.

If it is waiting for writes, then determine what is delaying the writes and fix it. Check the following:

  • Examine V$FILESTAT to see where most of the writes are happening.
  • Examine the host operating system statistics for the I/O system. Are the write times acceptable?

If I/O is slow:

  • Consider using faster I/O alternatives to speed up write times.
  • Spread the I/O activity across a large number of spindles (disks) and controllers.

It is possible DBWR is very active because the cache is too small. Investigate whether this is a probable cause by looking to see if the buffer cache hit ratio is low. Also, use the V$DB_CACHE_ADVICE view to determine whether a larger cache size would be advantageous.

If the cache size is adequate and the I/O is evenly spread, then you can potentially modify the behaviour of DBWR by using asynchronous I/O or by using multiple database writers.

Search online​

If this article doesn't have the information you need you can try searching online. Remember, you can contribute suggestions to this page.